Early planning of buffer and wiring resources is a critical aspect of every modern high-performance very large scale integration (“VLSI”) implementation methodology. Today, such planning is needed to evaluate the quality of register transfer (“RT”) level partitioning and soft (pre-synthesis) block placement/shaping, system-level timing constraints, and pin definition and buffered routing of global interconnects.
While the requirements for global wire planning as an adjunct to floorplan definition (i.e., the floorplan definition must take into account congestion, wire length, and timing, among other things) and the need for simultaneous pin assignment and global routing have not changed very much in the past ten to twenty years, it is well-understood that today's context for floorplan definition and global wire planning has evolved. Channel-less multilayer area routing has replaced channel/switchbox routing; interconnect delays are more balanced with appropriately sized gate delays, and no longer dominated by gate delays; layer RC constants vary by factors of up to 100, so that layer assignment must be planned; global interconnects are buffered; and floorplanning is at the RT-level (instead of physical floorplanning) with soft blocks having uncertain area/delay envelopes. At the same time, the underlying problem formulations and algorithmic technologies have separately advanced in at least three important ways: “buffer block” methodology, optimizations for individual global nets, and provably good global routing (i.e., global routing that reflects near-optimal solutions, or solutions with a proven approximation ratio, to problem formulations).
The “buffer block” methodology, along with the associated planning problem (i.e., solving for locations and capacities of buffer blocks), has been proposed and further elucidated. While the buffer block methodology has been used recently in hierarchical structured-custom (high-end microprocessor) methodologies, it may be less relevant to flat or application-specific integrated circuit, or “ASIC”—like regimes (where “ASIC” stands for “application-specific integrated circuit”) due to issues of separate power distribution, congestion, etc. To alleviate congestion problems associated with the use of buffer blocks, a “buffer site” methodology has been proposed which more uniformly distributes buffers across the chip wherever possible. In the buffer site methodology, block designers leave “holes” in their designs that can be used to insert buffers during the routing of global wires. The percentage of the block area left unused depends on the criticality of the block, ranging from 0% for high performance blocks, such as caches, up to a few percent for lower performance blocks.
The increased impact of interconnects on system performance in deep-submicron technologies has led to a large amount of literature on performance-driven optimizations for individual global nets. Such optimizations include buffer insertion and sizing, wire sizing, and topology synthesis.
Provably good global routing has been developed based on the primal dual framework, starting with “column-generating” analogies, then continuing with the exploitation of recent fast approximations for multi-commodity flows. More recently such provable approximations have been applied to the problem of global routing with a prescribed buffer block plan, taking into account signal parity, delay upper/lower bounds, and other practical considerations.